import type { DBPlan } from '@nangohq/types';

export function getTestPlan(override?: Partial<DBPlan>): DBPlan {
    return {
        id: 1,
        account_id: 1,
        name: 'free',
        stripe_customer_id: null,
        stripe_payment_id: null,
        orb_customer_id: null,
        orb_subscription_id: null,
        orb_future_plan: null,
        orb_future_plan_at: null,
        orb_subscribed_at: null,
        trial_start_at: new Date(),
        trial_end_at: new Date(),
        trial_extension_count: 0,
        trial_end_notified_at: null,
        trial_expired: null,
        environments_max: 2,
        sync_frequency_secs_min: 60,
        connections_max: 1000,
        records_max: 5000,
        proxy_max: 10000,
        function_executions_max: 1000,
        function_compute_gbms_max: 50000,
        webhook_forwards_max: 1000,
        function_logs_max: 10000,
        monthly_actions_max: 10000,
        monthly_active_records_max: 5000,
        has_sync_variants: false,
        has_otel: false,
        api_rate_limit_size: 'm',
        auto_idle: true,
        has_webhooks_script: false,
        has_webhooks_forward: false,
        can_override_docs_connect_url: false,
        can_customize_connect_ui_theme: false,
        can_disable_connect_ui_watermark: false,
        created_at: new Date(),
        updated_at: new Date(),
        ...override
    };
}
